package com.itany.corejava.code08_常用类.string;

import java.util.Scanner;

/**
 * @author 石小俊
 * @version 1.0
 * @date 2023年03月15日 13:33
 */
public class Test03_练习 {

    public static void main(String[] args) {
        test01();
        System.out.println("*********************");
        test02();
        System.out.println("*********************");
        test03();
    }

    /**
     * Hello World --> dlroW olleH
     */
    public static void test01() {
        String s = "Hello World";
        // 准备一个新的空字符串,用于接收倒序遍历后的字符
        String result = "";
        // 遍历字符串中的每一个字符
        for (int i = s.length() - 1; i >= 0; i--) {
            result += s.charAt(i);
        }
        System.out.println(result);
    }

    /**
     * heLlo woRld i aM admIn --> Hello_World_I_Am_Admin
     */
    public static void test02() {
        String s = "heLlo woRld i aM admIn";
        // 通过空格将字符串分割成数组
        String[] arr = s.split(" ");
        // 准备一个新的空字符串用于接收最终结果
        String result = "";
        // 遍历数组
        for (int i = 0; i < arr.length; i++) {
            // 将每一个元素改为首字母大写,其他字母小写
            // (arr[i].charAt(0)+"").toUpperCase();
            // arr[i].substring(0,1).toUpperCase();
            // arr[i].substring(1).toLowerCase();
            result = result + arr[i].substring(0, 1).toUpperCase() + arr[i].substring(1).toLowerCase() + "_";
        }
        result = result.substring(0, result.length() - 1);
        System.out.println(result);
    }

    /**
     * 在控制台输入任意一个字符串,将字符串中每4个字符后面添加一个短横岗-
     * 并将所有大写字符串转换成小写字母,将所有小写字母转换成大写字母
     */
    public static void test03() {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入任意一个字符串:");
        String s = sc.next();
        // 准备一个新的空字符串,用于接收结果
        String result = "";
        // 将字符串的大写转小写,小写转大写
        // 遍历字符串中所有字符
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            // 判断当前字符是大写还是小写
            if (c >= 'a' && c <= 'z') {
                // 小写字母,转大写后拼接
                result += (c + "").toUpperCase();
            } else if (c >= 'A' && c <= 'Z') {
                // 大写字母,转小写后拼接
                result += (c + "").toLowerCase();
            } else {
                // 非英文字母,不做任何处理,直接拼接
                result += c;
            }
            // 由于i从0开始,每4位不好计算,因此可以通过i+1进行运算
            // 且如果是最后一个位置,不需要添加-
            if ((i + 1) % 4 == 0 && i != s.length() - 1) {
                result += "-";
            }
        }
        System.out.println(result);
    }
}
